Systems, methods, and media for managing an entertainment system

ABSTRACT

Systems, methods, and media for managing an entertainment system are provided. In some implementations, systems for managing an entertainment system are provided, the systems comprising: at least one hardware processor configured to: detect a first instruction; select a component of the entertainment system; determine a first state of the component; store an indication of the first state; detect a second instruction; retrieve the indication of the first state; generate a third instruction based on the indication of the first state; and transmit the third instruction to the component of the entertainment system.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/403,929, filed May 6, 2019, which is a continuation of U.S. patentapplication Ser. No. 15/843,831, filed Dec. 15, 2017, which is acontinuation of U.S. patent application Ser. No. 15/010,558, filed onJan. 29, 2016, which is a continuation of U.S. patent application Ser.No. 14/673,543, filed on Mar. 30, 2015, which is a continuation of U.S.patent application Ser. No. 13/804,087, filed on Mar. 14, 2013, each ofwhich are hereby incorporated by reference herein in its entirety.

TECHNICAL FIELD

The disclosed subject matter relates to methods, systems, and media formanaging an entertainment system.

BACKGROUND

Entertainment systems may be used to watch TV, listen to music, orconsume any other suitable type of media content. Some entertainmentsystems may include source components and rendering components. Forexample, the source components may be tuners and various media playersthat are configured to provide the rendering components with audioand/or video signals to render. The rendering components, as anotherexample, may be TV sets, home theater receivers, amplifiers, and otherdevices that are configured to produce sound or video.

Switching between different source components of an entertainment systemmay be cumbersome at times. For example, if a user wants to switch fromwatching over-the-air TV to watching a Blu-ray disk, the user may needto execute multiple commands such as: change an active signal source ofa TV set to a Blu-ray player; turn the Blu-ray player on; and change thevolume of the TV set according to sound levels output by the Blu-rayplayer, so that the volume is neither too loud nor too quiet when theBlu-ray disk starts playing. Afterwards, if the user wants to resumewatching TV, he or she may need to again execute multiple commands thatreverse the effects of the previous commands and cause the TV set todisplay over-the-air TV again. However, such commands may need to beentered by the user manually, via a remote control, and this may beinconvenient for the user.

Accordingly, the need exists for new systems, methods, and media formanaging an entertainment system.

SUMMARY

Systems, methods, and media for managing an entertainment system areprovided. In some implementations, systems for managing an entertainmentsystem are provided, the systems comprising: at least one hardwareprocessor configured to: detect a first instruction; select a componentof the entertainment system; determine a first state of the component;store an indication of the first state; detect a second instruction;retrieve the indication of the first state; generate a third instructionbased on the indication of the first state; and transmit the thirdinstruction to the component of the entertainment system.

In some implementations methods for managing an entertainment system areprovided, the methods comprising: detecting a first instruction;selecting a component of the entertainment system; determining a firststate of the component using at least one hardware processor; storing anindication of the first state; detecting a second instruction;retrieving the indication of the first state; generating a thirdinstruction based on the indication of the first state; and transmittingthe third instruction to the component of the entertainment system.

In some implementations, non-transitory computer-readable mediacontaining computer-executable instructions that, when executed by aprocessor, cause the processor to perform a method for managing anentertainment system are provided, the method comprising: detecting afirst instruction; selecting a component of the entertainment system;determining a first state of the component; storing an indication of thefirst state; detecting a second instruction; retrieving the indicationof the first state; generating a third instruction based on theindication of the first state; and transmitting the third instruction tothe component of the entertainment system.

In some implementations, systems for managing an entertainment systemare provided, the systems comprising: means for detecting a firstinstruction; means for selecting a component of the entertainmentsystem; means for determining a first state of the component; means forstoring an indication of the first state; means for detecting a secondinstruction; means for retrieving the indication of the first state;means for generating a third instruction based on the indication of thefirst state; and means for transmitting the third instruction to thecomponent of the entertainment system.

In some implementations of these systems, the means for detecting thefirst instruction detects an instruction which, when executed, causesthe component to stop being in the first state.

In some implementations of these systems, the systems further comprisemeans for selecting the component based on the component being an activesignal source for a rendering component of the entertainment system whenthe first instruction is detected.

In some implementations of these systems, the means for determining afirst state of the component: transmits a query over a communicationsbus; and receives an indication of a configuration setting of thecomponent in response to the query.

In some implementations of these systems, the means for detecting thesecond instruction detects an instruction to return the component to thefirst state.

In some implementations of these systems, the third instruction is forrestoring a configuration setting of the component to a value theconfiguration setting was set to when the first instruction wasdetected.

In some implementations of these systems, the means for transmitting thethird instruction transmits the third instruction over a communicationsbus.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the invention will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 is an example of an entertainment system in accordance with someimplementations of the disclosed subject matter;

FIG. 2 is an example of a communications bus connecting differentcomponents of an entertainment system in accordance with someimplementations of the disclosed subject matter;

FIG. 3 is an example of a topology for a communications bus connectingdifferent components of an entertainment system in accordance with someimplementations of the disclosed subject matter;

FIG. 4 is a block diagram of an example of hardware for differententertainment system components in accordance with some implementationsof the disclosed subject matter;

FIG. 5 is a flowchart of an example of a process for managing anentertainment system in accordance with some implementations of thedisclosed subject matter; and

FIG. 6 is a flowchart of another example of a process for managing anentertainment system in accordance with some implementations of thedisclosed subject matter.

DETAILED DESCRIPTION

In some implementations, mechanisms (which may include methods, systems,and media) are provided for managing an entertainment system (ES). Whena command to change the state of one or more component(s) of anentertainment system is detected, the mechanisms may record the state ofthe component(s) of the entertainment system (ES) and automaticallyrestore that state at a later time.

For example, consider an example in the context of an entertainmentsystem that includes a TV set, a DVD player, and a cable TV set-top box.At an initial point in time, a user may be watching a television programon the TV via the cable TV set-top box. In response to a user issuing acommand to watch a movie on the DVD player (e.g., by placing a DVD inthe DVD player), the mechanisms may determine the input source settingof the TV and the channel setting of the cable TV set-top box and storethat information prior to those settings being changed as a result ofthe command and/or some other function (e.g., such as the cable TVset-top box's digital video recorder function). When the user indicatesthat the user no longer wants to watch the movie (e.g., by issuing acommand to power-off the DVD player), the mechanisms may automaticallyswitch the input source setting of the TV back to the cable TV set-topbox and set the channel setting on the cable TV set-top box back to thechannel that was previously being watched.

FIG. 1 is an example of a diagram of an entertainment system (ES) 100 inaccordance with some implementations of the disclosed subject matter. Asillustrated, entertainment system 100 may include a rendering EScomponent 110. Rendering ES component 110 may be a TV set and it mayinclude a display screen 111 and a speaker 112. Although display screen111 and speaker 112 are depicted as being integrated in ES component110, in some implementations display screen 111 and/or speaker 112 maybe external to ES component 110. Additionally or alternatively, in someimplementations, ES component 110 may include only one (or none) ofscreen 111 and speaker 112. Although ES component 110 is a TV set inthis example, in other examples, ES component 110 may be any suitabledevice that is capable of producing sound and/or video, or a soundand/or a video signal, such as a stereo amplifier, a home theaterreceiver, or a projector.

ES component 110 may include an analog interface 113 and a digitalinterface 114. Analog interface 113 may include circuitry and/or one ormore ports (external or internal) for receiving analog video and/oraudio signals from source ES components, such as CD players, DVDplayers, or TV set-top boxes. In some implementations, analog interface113 may include an analog audio-video (AV) switch. Analog interface 113may be connected to an ES component 120, which, for example, may be avideocassette recorder (VCR).

Digital interface 114 may include circuitry for receiving video and/oraudio signals from various source ES components. In someimplementations, digital interface 114 may include one or more externalor internal input ports. Additionally or alternatively, in someimplementations, digital interface 114 may include a digital AV switch(e.g., an HDMI switch) for multiplexing a plurality of input ports thatare part of digital interface 114. Digital interface 114 may be a HomeDigital Multimedia Interface (HDMI), a Wireless Home Digital Interface(WHDI), an HDBaseT interface, a Digital Interactive Interface for Videoand Audio (DiiVA), or any other suitable type of digital interface forreceiving audio and/or video.

As illustrated in FIG. 1 , digital interface 114 may be coupled tosource ES components 130 a-d. For example, ES component 130 a may be atuner that is integrated in rendering ES component 110. ES component 130b may be a digital media player that is external to ES component 110. EScomponent 130 c may be a digital video recorder (DVR) that is externalto ES component 110. ES component 130 d may be a home theater personalcomputer (HTPC) that is external to ES component 110. Any suitablenumber and types of source ES components can be used in someimplementations.

Digital interface 114, in some instances, may implement (at least inpart) a communications bus 210 (shown in FIG. 2 ) that connects EScomponents 130 a-d to ES component 110. Communications bus 210 may be aConsumer Electronics Control (CEC) bus or any other suitablecommunications bus. As illustrated in FIG. 3 , in some implementations,the topology of communications bus 210 may be an inverted tree with EScomponent 110 (or an AV switch that is part ES component 110) being thetree's root and ES components 130 a-d being leaf nodes. Each leaf node,for example, may be connected to the root via one of signal paths 310a-d. In some implementations, communications bus 210 may be implementedas part of an AV interface connecting ES components 130 a-d to EScomponent 110. For example, communications bus 210 may be a CEC buswhich may be physically integrated in AV interfaces, such as HDMI.Alternatively, communications bus 210 may be separate from any AVinterface. As noted above, an AV interface may be any interface fortransmitting or receiving audio and/or video content.

Entertainment system 100 may also include a communications network 140.Network 140 may be a local area network (LAN), a wireless network (e.g.,a WiFi network, a WiMax network, etc.), a wide area network (WAN), amobile telephone network, a mobile data network (e.g., such as a 3Gnetwork or a 4G network), a satellite network, a cable network, atelephone network, the Internet, or any other suitable network. In someimplementations, ES components 130 b-d may be connected to one anothervia network 140.

In some implementations, rendering ES component 110 may be configured toswitch between ES components 120 and 130 a-d by using one or more AVswitches that are part of AV interface 113, AV interface 114, and/oradditional circuitry that is part of ES component 110. Moreparticularly, rendering component 110 may multiplex source signalsreceived from ES components 120 and 130 a-d to select at least one ofthem. The selected source signal may then be propagated to displayscreen 111 or speaker 112 for presentation. Source signals that are notselected may not be propagated for presentation.

Selecting a signal, in some implementations, may include selecting anactive input port out of a plurality of input ports (logical orphysical) that are part of ES component 110. In some implementations, EScomponent 110 may have only one active input port. Alternatively, insome implementations, ES component 110 may have multiple active inputports.

In some implementations, any signal received over an active input portof ES component 110 may be forwarded to at least one of display screen111 or speaker 112 for output by switching circuitry that is part of EScomponent 110. Put differently, in some implementations, when an AVswitch, or other switching circuitry of ES component 110, is configuredto forward a signal received from one of a plurality of input ports ofthe switch (or other circuitry) out of an output port of the switch (orother circuitry) and towards one of a display screen 111 and/or speaker112, that port may be considered to be an active input port for EScomponent 110. As noted above, the port may be either physical orlogical.

In some instances, a source ES component that is connected to an activeinput port of ES component 110 may be termed to be an active signalsource for ES component 110. For example, when a user of entertainmentsystem 110 is watching over-the-air TV using ES component 130 a, EScomponent 130 a may be an active input source for ES component 110 andthe port on ES component 110 to which ES component 130 a is connected(e.g., an internal HDMI port) may be an active input port. When the userswitches from watching over-the-air TV to watching streamed mediacontent, ES component 130 b may become an active input source for EScomponent 110, whereas ES component 130 a may stop being an active inputsource for ES component 110. Similarly, the input port on ES component110 to which ES component 130 b is connected may become an active inputport, whereas the port to which ES component 130 a is connected maybecome inactive.

In some implementations, an active input port on ES component 110 and/oran active signal source for ES component 110 may be changed via one ormore instructions. In some implementations, the instructions may bedirected to ES component 110. Additionally or alternatively, theinstructions may be directed to the ES component that is to become anactive signal source (e.g., ES component 130 b). The instructions may betransmitted over at least one of: an infrared (IR) port; communicationsbus 210; network 140; and any other suitable type of channel. By way ofexample, the instructions may include a “change source” instruction,which is found on most TV sets, or instruction or a “power on”instruction. In some implementations, when ES component 130 b isactivated via a “power on” instruction, ES component 130 b may transmitone or more other instructions over communications bus 210 that willcause ES component 110 to select the input port where ES component 130 bis connected as an active input port. In some implementations, EScomponents may automatically become active signal sources for renderingES component 110 when they are powered on.

In some implementations, any of ES components 110, 120, and 130 a-d mayexecute operating system software (e.g., firmware, a multi-taskingoperating system, etc.) as well as additional software applications. Forexample, ES component 130 b may execute an operating system and asoftware application for streaming audio and/or video content from anonline source (via network 140). As another example, ES component 130 amay execute firmware for receiving HDTV signals over the airwaves anddecoding the received signals. Any suitable software may be executed onES components 110, 120, and 130 a-d, in some implementations.

Furthermore, any one of ES components 110, 120, and 130 a-d may beassociated with a configuration setting. By way of example, theconfiguration setting of a respective ES component may be: a variable; alocation in a memory of the respective ES component (e.g., a location inRAM, a location in a solid state drive (SSD), etc.); a field in a table;a data structure; or any other suitable type of item. In addition, theconfiguration setting may have a value. The value of the configurationsetting may be: a bit string; a number; an alphanumerical string; or anyother suitable type of indication. In some implementations, the value ofthe configuration setting may be stored on the respective ES component.Additionally or alternatively, in some implementations, the value of theconfiguration setting may determine and/or indicate an aspect of theoperation of the respective ES component. Thus, in some implementations,changing the value of the configuration setting may cause a state of therespective ES component to change.

In some implementations, the configuration setting may be an audioconfiguration setting and it may determine (or indicate) acharacteristic of audio that is output by the respective ES component.By way of example, audio configuration settings may determine (orindicate) at least one of: a volume level setting; a bass level setting;a treble level settings, an audio surround mode (e.g., 5.1, 2.1,stereo); or any other suitable characteristic of audio that is output bythe respective ES component. Additionally or alternatively, in someimplementations, the configuration setting may be a video configurationsetting and it may determine (or indicate) a characteristic of videothat is output by the respective ES component. By way of example, videoconfiguration settings may determine (or indicate) at least one of: abrightness level; a contrast level; a screen refresh rate; a color hue;a color saturation; a color depth; a screen mode (e.g., dual screenmode, a single screen mode, or a multi-screen mode); a screenresolution; or any other suitable characteristic of video that is outputby the respective ES component.

Additionally or alternatively, in some implementations, theconfiguration setting may be a channel configuration setting and it maydetermine (or indicate) a channel at which a signal is to be or is beingreceived or output. The channel may be: an input channel; an outputchannel; a TV channel; a frequency spectrum channel; or any othersuitable type of channel. The signal may be: a control signal (e.g., anIR signal generated by a remote control or HDMI command); a videosignal; an audio signal; or any other suitable type of signal. When thesignal is a control signal, it may be any type of signal that causes therespective ES component to change states. By way of example, channelconfiguration settings may determine (or indicate) at least one of: a TVchannel that is currently being played on a TV set; an active input porton the respective ES component; an output port over which a signal(audio and/or video signal) is to be or is being transmitted; a port(logical or physical) over which a control signal is to be or is beingreceived (e.g., IR input port, a network port, or an HDMI port); or anyother suitable characteristic of a conduit or channel over which asignal is to be or is being received or transmitted by the respective EScomponent.

Additionally or alternatively, in some implementations, theconfiguration setting may be a software configuration setting and it maypertain to the operation of software (e.g., firmware, operating systemsoftware, or application software) that is executed on the respective EScomponent. By way of example, channel configuration settings maydetermine (or indicate) at least one of: an application that iscurrently being executed by the respective ES component; a screenresolution used by an application or an operating system; a rate atwhich a given process or application is scheduled by a processor of therespective ES component; whether to perform automatic updates; or anyother suitable software characteristic.

Additionally or alternatively, in some implementations, theconfiguration setting may be a power setting. By way of example, powersettings may determine or indicate at least one of: whether therespective ES component is powered on; whether the respective EScomponent is in a power savings mode; a number of CPU cores that areenabled on the respective ES component; a backlight brightness level; orany other suitable setting related to power consumption. It should benoted that the configuration settings and categories thereof areprovided as examples only. Any suitable configuration setting may beused in some implementations.

In some implementations, any of ES components 110, 120, and 130 a-d maybe configured to report the value of at least one of its configurationsettings in response to a query. For example, the query may betransmitted over a communications bus, such as communications bus 210.Additionally or alternatively, the query may be transmitted over acommunications network, such as network 140.

In some implementations, any of ES components 110, 120, and 130 a-d maybe configured to receive a control instruction over communications bus210. The control instruction, when executed by the ES component, maycause the ES component to leave one state and enter another state. Thestate change may include: a powering off/on of the ES component; achange in sound volume; a change in screen resolution; or a change inany other aspect of the operation of the ES component. Specifically, forexample, in some implementations, the control instruction may result ina current value of a configuration setting of the ES component beingsubstituted (e.g., overwritten) with a new value. As noted, changing thevalue of a configuration setting of an ES component may result inchanging one or more aspects of the operation of the ES component. Thus,changing the value of a configuration setting of an ES component may beone way to change a state of that component.

In accordance with some implementations, any suitable hardware and/orsoftware can be used to implement any one of the components ofentertainment system 100, such as ES components 110, 120, and 130 a-d.As illustrated in FIG. 4 , for example, in some implementations, any ofthese components can be implemented with hardware 400, which can includehardware processor(s) 402, memory 404 communication interface(s) 406,and communications bus 408. Hardware processor(s) 402 can be anysuitable hardware processor(s), such as one or more microprocessors,microcontrollers, digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores) or asupercomputer, in some implementations. Memory 404 may be any volatileor non-volatile memory (e.g., RAM, a solid state drive (SSD), or a harddisk). Communications interface(s) 406 can include one or morecommunications network adapters and interface(s) 406 can enable thehardware and/or software to communicate with other communicationsnetworks (e.g., such as the Internet, wired networks, wireless networks,etc.), other equipment, and/or any other suitable networks, devices,etc. Communications bus 408 may include a front side bus (FSP), acomputer expansion bus, or any other suitable bus for connecting toelectronic components (e.g., computer components) to hardwareprocessor(s) 402.

FIG. 5 is a flowchart of an example of a process 500 for controlling thestate of an entertainment system in accordance with some implementationsof the disclosed subject matter. The entertainment system may be anysuitable entertainment system, such as system 100. Process 500 may beexecuted by ES component 130 b or any other suitable component of system100. More particularly, for example, in some implementations, the stepsin process 500 may be executed by hardware processor(s) that are part ofthe ES component executing process 500.

At 510, process 500 detects a first instruction relating to an EScomponent. The first instruction may be any suitable instruction. Forexample, the first instruction may be an instruction that, if executed,would cause a source ES component to become an active signal source fora rendering ES component.

In some implementations, in order for the source ES component to becomean active signal source for the rendering ES component, the source EScomponent may need to be powered on. Additionally or alternatively, insome implementations, in order for the source ES component to become anactive signal source for the rendering ES component, the input port onthe rendering ES component to which the source ES component is connectedmay need to be selected as an active input port by switching circuitrythat is part of the rendering ES component (e.g., an HDMI switch). Thus,for example, the first instruction may be a “power on” instructionand/or a “change input” instruction.

The first instruction may be transmitted to the source ES component, therendering ES component, or any other suitable component of anentertainment system. In instances where the first instruction isdirected to an entertainment system component other than the source EScomponent, the source ES component may detect the first instruction bymonitoring communications on a communications bus to which theentertainment system component is coupled.

In some implementations, a detected instruction may be identified as afirst instruction by comparing an identifier for the detectedinstruction to a list of one or more first instructions. The list of oneor more first instructions may include any suitable instructions. Forexample, the list of one or more first instructions may includeinstructions that are expected to result in a source ES componentbecoming an active signal source for a rendering ES component. The listmay be stored in any suitable location, such as a memory of a source EScomponent.

At 520, the source ES component selects one or more other components ofthe entertainment system. In some implementations, the other EScomponent(s) may be selected based on at least one of: a type of theselected ES component (e.g., based on it being a rendering ES componentor based on it being a source ES component); a state of the selectedcomponent (e.g., based on it being the active signal source for a givenrendering ES component); whether the component is connected to acommunications bus, such as communications bus 210; and/or any othersuitable criterion.

For example, in some implementations, the selected components may beidentified by transmitting to the rendering ES component, or to anotherES component connected to a communications bus, one or more queries thatrequest identification of at least one of: an active signal source forthe rendering ES component; and/or an active input port on the renderingES component. In some implementations, the source ES component mayexchange communications, over a communications bus, with othercomponents of an entertainment system in order to identify one or moreES components that meet one or more of the predefined criteria forselection.

At 530, the source ES component determines a first state of the selectedES component(s). In some implementations, determining the first statemay include receiving value(s) of one or more configurations settings ofthe entertainment system component(s). The configuration setting(s) maybe: audio configuration setting(s); video configuration setting(s);channel configuration setting(s); power configuration setting(s);software configuration setting(s); or any other suitable type ofconfiguration setting(s). As discussed above, configuration setting(s)′values may be determined by transmitting queries to the selected EScomponent(s) over a communications bus. In some implementations, asource ES component may determine the first state in advance ofdetecting the first instruction. Additionally or alternatively, in someimplementations, the source ES component may repeatedly (e.g.,periodically) query the ES components selected at step 520 in order tomaintain a current record of the first state.

At 540, an indication of the first state is stored in memory. The memorymay be: a volatile memory (e.g., RAM); a non-volatile memory (e.g., asolid state drive (SSD)), a remote memory (e.g., a remote storageserver); and/or any other suitable type of memory. In someimplementations, storing the indication in memory may include storingindications of the value(s) of configuration setting(s) of the selectedES component(s) that may be received at step 530.

At 550, the first instruction is executed. Any suitable effect mayresult upon executing the first instruction. For example, the source EScomponent may become the active signal source for the rendering EScomponent.

At 560, the source component ES detects a second instruction. The secondinstruction may to the source ES component, the rendering ES component,or any other suitable component of an entertainment system. The secondinstruction may be any suitable instruction. For example, the secondinstruction may be an instruction that, if executed, would cause thesource ES component to stop being the active signal source for therendering ES component. In some implementations, in order for the sourceES component to stop being an active signal source for the rendering EScomponent, the source ES component may need to be powered off.Additionally or alternatively, in some implementations, in order for thesource ES component to stop being an active signal source for therendering ES component, the input port on the rendering ES component towhich the source ES component is connected may need to be set to aninactive state. Accordingly, and for example, the second instruction maybe any instruction that results, either directly or indirectly, in: thesource ES component being powered off; and/or an active input port onthe rendering ES component being set to an inactive state. The secondinstruction may be any instruction being transmitted to the source EScomponent, the rendering ES component, and/or any other suitablecomponent of the entertainment system.

In instances where the second instruction is directed to anentertainment system component other than the source ES component, thesource ES component may detect the second instruction by monitoringcommunications on a communications bus.

In some implementations, a detected instruction may be identified as asecond instruction by comparing an identifier for the detectedinstruction to a list of one or more second instructions. The list ofone or more second instructions may include any suitable instructions.For example, the list of one or more second instructions may includeinstructions that are expected to result in a source ES componentstopping to be an active signal source for a rendering ES component. Thelist may be stored in any suitable location, such as a memory of thesource ES component.

At 570, the indication of the first state is retrieved from memory.

At 580, one or more instructions for at least one of the ES componentsselected at step 520 are generated. The generated instructions may bebased on the indication of the first state. The generated instructionsmay instruct the system components to enter a second state. The secondstate may be a state that is the same as the first state or a state thatis determined based on the first state.

For example, in some implementations, an instruction may be generatedthat sets the value of a configuration setting of one of at least one ofthe ES components selected at step 520 to one of: the value for the sameconfiguration setting that is received at step 530; and a value that isdetermined based on the value for the same configuration setting that isreceived at step 530. As noted, the configuration setting may be: anaudio configuration setting; a video configuration setting; a channelconfiguration setting; a software configuration setting; a powerconfiguration setting; or any other suitable type of configurationsetting. Additionally or alternatively, in some implementations, thegenerated instruction(s) may cause: a change in the sound volume of anES component; a change of the TV channel to which an ES component istuned; a change of an active input port of an ES component; a change inthe screen resolution of an ES component; or a change of any othersuitable characteristic of the operation of an ES component.

At 590, the generated instruction(s) are transmitted to the one or moreselected system components. The transmission may take place over acommunications bus, a network, or any other suitable channel. Forexample, in some implementations, some of the instructions may betransmitted over communications bus 210, whereas others may betransmitted over network 140.

The first and second instructions, detected at steps 510 and 560,respectively, and the generated instruction(s) may be of the same type.Alternatively, at least some of the instructions may be of differenttypes. For example, the first instruction may be a remote controlinstruction that is received over an IR port, the second instruction maybe an HDMI (or CEC) instruction, and the generated instruction may alsobe HDMI (or CEC) instructions. Additionally or alternatively, in someimplementations, the transmission (and/or generation) of the generatedinstruction(s) may be triggered by the detection of the secondinstruction.

FIG. 6 is a flowchart of another example of a process 600 forcontrolling the state of an entertainment system in accordance with someimplementations of the disclosed subject matter. The entertainmentsystem may be any suitable entertainment system, such as system 100.Process 600 may be executed by ES component 130 a or any other componentof system 100. More particularly, for example, in some implementations,the steps in process 600 may be executed by hardware processor(s) thatare part of the ES component executing process 600.

At 610, process 600 detects a first instruction relating to an EScomponent. The first instruction may be any suitable one or moreinstructions. For example, the first instruction may be an instructionthat, if executed, would cause a first source ES component in anentertainment system to enter a first state while causing a secondcomponent of the entertainment system to exit a second state. The secondES component may be a rendering ES component or another source EScomponent that is connected to the same rendering ES component as thefirst source ES component.

In some implementations, entering a state by an ES component may includechanging any aspect of the operation of the ES component, such as:powering on the ES component; turning up the volume of the ES component;changing the TV channel to which the ES component is tuned; or startingan application on the ES component. As another example, exiting a stateby an ES component may include changing any aspect of the operation ofthe ES component, such as: powering off the ES component; turning downthe volume of the ES component; changing the TV channel to which the EScomponent is tuned; or closing an application on the ES component.

More particularly, for example, a first instruction may be anyinstruction capable of causing a change in the operation of both a firstsource ES component and a second source ES component. For example, thefirst instruction may be an instruction for powering-on the first EScomponent (e.g., a “power-on” instruction). Upon receiving the firstinstruction, the first ES component may reconfigure an AV switch insidea rendering ES component (e.g., by transmitting one or more CECinstructions over a communications bus) to become the active signalsource for the rendering ES component. Subsequently, upon having itsactive signal source changed, the rendering ES component may power downor otherwise bring the second source ES component to an idle state.Thus, the first instruction may be any instruction that, either directlyor indirectly, can cause a change in: a state of the first source EScomponent; and a state of the second source ES component. Furthermore,in some implementations, the first instruction may be an instructionwhich when executed would cause the first source ES component to becomean active signal source for the rendering ES component, while causingthe second source ES component to stop being an active signal source forthe rendering ES component.

The first instruction may be transmitted to the first source EScomponent, the rendering ES component, or any other suitable componentof the entertainment system. In instances where the instruction isdirected to an entertainment system component other than the firstsource ES component, the first source ES component may detect theinstruction by monitoring communications on a communications bus.

In some implementations, a detected instruction may be identified as afirst instruction by comparing an identifier for the detectedinstruction to a list of one or more first instructions. The list of oneor more first instructions may include any suitable instructions. Forexample, the list of one or more first instructions may includeinstructions that are expected to result in a change of a state of thefirst source ES component and a change of a state of the second sourceES component. The list may be stored in any suitable location, such as amemory of the first source ES component.

At 620, the second source ES component determines a first value of aconfiguration setting of the second ES component. The configurationsetting may be: an audio configuration setting; a video configurationsetting; a channel configuration setting; a software configurationsetting; a power configuration setting; or any other suitable type ofconfiguration setting. In some implementations, the first source EScomponent may determine (or refresh) the first value of theconfiguration setting in advance of detecting the first instruction.Additionally or alternatively, in some implementations, the first sourceES component may repeatedly (e.g., periodically) query the second sourceES component in order to maintain a current record of the first value ofthe configuration setting. At 630, the first instruction is executed,causing the first source ES component to enter the first state, whilecausing the second source ES component to exit the second state.

At 640, the first source ES component detects a second instructionwhich, if executed, would cause the first source ES component to exitthe first state. The second instruction may be any suitable one or moreinstructions. For example, the second instruction may be an instructionthat, if executed, would cause a first source ES component to power-offThe second instruction may be any instruction that, either directly orindirectly, can cause a change in a state of the second source EScomponent.

The second instruction may be transmitted to the first source EScomponent, the rendering ES component, or any other suitable componentof the entertainment system. In instances where the instruction isdirected to an entertainment system component other than the firstsource ES component, the first source ES component may detect theinstruction by monitoring communications on a communications bus.

In some implementations, a detected instruction may be identified as asecond instruction by comparing an identifier for the detectedinstruction to a list of one or more second instructions. The list ofone or more second instructions may include any suitable instructions.For example, the list of one or more second instructions may includeinstructions that are expected to result in a change of a state of thefirst source ES component. The list may be stored in any suitablelocation, such as a memory of the first source ES component orelsewhere.

At 650, the first source ES component generates a third instructionsetting the configuration setting (of the second source ES component)whose first value is determined at step 620 to a second value. Thesecond value may be any suitable one or more values. In someimplementations, the second value may be determined by the first sourceES component based on the first value. The second value may be eitherequal to or different from the first value.

At 660, the third instruction is transmitted by the first source EScomponent to the second source ES component. In some implementations,the third instruction may cause the second source ES component to returnto the second state or enter a state that is similar to the second statein some aspect. For example, in some implementations, the thirdinstruction may be an instruction for powering-on the second source EScomponent or changing the channel to which the second source EScomponent is tuned.

Additionally or alternatively, in some implementations, the transmission(or generation) of the third instruction may be triggered by thedetection of the second instruction. In some instances, the thirdinstruction may be transmitted to the second source ES component before(or without) the rendering ES component being configured to use thesecond source ES component as an active input source. In someimplementations, the first source ES component may reconfigure thesecond source ES component in preparation for a (uncertain) contingencythat the second source ES component may become an active input source ofthe rendering ES component.

The third instruction may be transmitted in any suitable manner. Forexample, in some implementations, the third instruction may betransmitted as a radio frequency transmission, an infrared transmission,etc. As another example, in some implementations, the third instructionmay be transmitted over a communications bus (e.g., a CEC communicationsbus), a network (e.g., a LAN), or any other suitable bus. The thirdinstruction may be a different type of instruction than the firstinstruction and/or the second instruction. For example, the thirdinstruction may be an HDMI instruction, whereas the first instructionmay be an instruction received from a remote control over an IR port.Alternatively, the first instruction may be also be an HDMI instruction.Thus, each of the first instruction, the second instruction, and thethird instruction may be any suitable type of instruction (e.g., an HDMIinstruction or an instruction transmitted over a communicationsnetwork).

In some implementations, any suitable computer readable media can beused for storing instructions for performing the processes describedherein. For example, in some implementations, computer readable mediacan be transitory or non-transitory. For example, non-transitorycomputer readable media can include media such as magnetic media (suchas hard disks, floppy disks, etc.), optical media (such as compactdiscs, digital video discs, Blu-ray discs, etc.), semiconductor media(such as flash memory, electrically programmable read only memory(EPROM), electrically erasable programmable read only memory (EEPROM),etc.), any suitable media that is not fleeting or devoid of anysemblance of permanence during transmission, and/or any suitabletangible media. As another example, transitory computer readable mediacan include signals on networks, in wires, conductors, optical fibers,circuits, any suitable media that is fleeting and devoid of anysemblance of permanence during transmission, and/or any suitableintangible media.

It should be noted that FIGS. 1-6 are provided as examples only. Atleast some of the steps of processes 500 and 600 may be performed in adifferent order than represented, performed concurrently, or omitted.Although in the above examples, rendering ES components are described asES components that are capable of producing sound and/or video, in otherexamples any ES component that include an AV switch may be considered arendering ES component, regardless of whether that ES component canproduce sound or video. Thus, in some implementations, renderingcomponents need not include a speaker or a display screen. Although, inthe above examples source ES components include a VCR, a DVR, a digitalmedia player, a tuner, and an HTPC, in other examples source EScomponents may include game consoles, DVD players, CD players, or anyother device that is customarily connected to TV sets, amplifiers, orhome theater receivers to provide the latter with audio and/or videosignal for rendition on a screen or a speaker. Any suitable number ofanalog or digital AV switches may be present in rendering component 110or entertainment system 100. Any suitable number of ES components may beconnected to any of the AV switches.

The provision of the examples described herein (as well as clausesphrased as “such as,” “e.g.”, “including” and the like) should not beinterpreted as limiting the claimed subject matter to the specificexamples; rather, the examples are intended to illustrate only some ofmany possible aspects.

Although the invention has been described and illustrated in theforegoing illustrative implementations, it is understood that thepresent disclosed subject matter has been made only by way of example,and that numerous changes in the details of implementation of theinvention can be made without departing from the spirit and scope of theinvention, which is limited only by the claims which follow. Features ofthe disclosed implementations can be combined and rearranged in variousways.

What is claimed is:
 1. A system for managing an entertainment system,comprising: at least one hardware processor that: determines a firststate of a rendering component of a first entertainment system prior toreceiving a first instruction to enter a second state for presentingmedia content; in response to determining that the rendering componentof the first entertainment system is not in the first state and has beeninstructed by a computing device executing a media application to exitthe second state, transmits a second instruction that is configured tocause the rendering component of the first entertainment system toreturn to the first state; and transmits a third instruction to a sourcecomponent of a second entertainment system prior to the renderingcomponent of the first entertainment system being configured to use thesource component of the second entertainment system as an active inputsource.
 2. The system of claim 1, wherein the first state specifies atleast one configuration setting for the rendering component of the firstentertainment system.
 3. The system of claim 1, wherein the firstinstruction causes the rendering component to stop being in the firststate.
 4. The system of claim 1, wherein the at least one hardwareprocessor is further configured to select the source component based onthe source component being the active signal source for the renderingcomponent of the first entertainment system in response to receiving thefirst instruction.
 5. The system of claim 1, wherein the at least onehardware processor is further configured to: transmit a query over acommunications bus; and receive an indication of a configuration settingof the rendering component in response to the query.
 6. The system ofclaim 1, wherein the at least one hardware processor is furtherconfigured to transmit a fourth instruction over a communication networkthat is configured to cause the rendering component of the firstentertainment system to return to the first state having the at leastone configuration setting, wherein the fourth instruction is for settinga configuration setting of the rendering component to a value that theconfiguration setting was set to when the first instruction wasdetected.
 7. The system of claim 1, wherein the at least one hardwareprocessor is further configured to generate the fourth instruction basedon the determination of the first state.
 8. A method for managing anentertainment system, the method comprising: determining a first stateof a rendering component of a first entertainment system prior toreceiving a first instruction to enter a second state for presentingmedia content; in response to determining that the rendering componentof the first entertainment system is not in the first state and has beeninstructed by a computing device executing a media application to exitthe second state, transmitting a second instruction that is configuredto cause the rendering component of the first entertainment system toreturn to the first state; and transmitting a third instruction to asource component of a second entertainment system prior to the renderingcomponent of the first entertainment system being configured to use thesource component of the second entertainment system as an active inputsource.
 9. The method of claim 8, wherein the first state specifies atleast one configuration setting for the rendering component of the firstentertainment system.
 10. The method of claim 8, wherein the firstinstruction causes the rendering component to stop being in the firststate.
 11. The method of claim 8, further comprising selecting thesource component based on the source component being the active signalsource for the rendering component of the first entertainment system inresponse to receiving the first instruction.
 12. The method of claim 8,further comprising: transmitting a query over a communications bus; andreceiving an indication of a configuration setting of the renderingcomponent in response to the query.
 13. The method of claim 8, furthercomprising transmitting a fourth instruction over a communicationnetwork that is configured to cause the rendering component of the firstentertainment system to return to the first state having the at leastone configuration setting, wherein the fourth instruction is for settinga configuration setting of the rendering component to a value that theconfiguration setting was set to when the first instruction wasdetected.
 14. The method of claim 8, further comprising generating thefourth instruction based on the determination of the first state.
 15. Anon-transitory computer-readable medium containing computer-executableinstructions that, when executed by a processor of an entertainmentsystem, cause the processor to perform a method for managing theentertainment system, the method comprising: determining a first stateof a rendering component of a first entertainment system prior toreceiving a first instruction to enter a second state for presentingmedia content; in response to determining that the rendering componentof the first entertainment system is not in the first state and has beeninstructed by a computing device executing a media application to exitthe second state, transmitting a second instruction that is configuredto cause the rendering component of the first entertainment system toreturn to the first state; and transmitting a third instruction to asource component of a second entertainment system prior to the renderingcomponent of the first entertainment system being configured to use thesource component of the second entertainment system as an active inputsource.
 16. The non-transitory computer-readable medium of claim 15,wherein the first state specifies at least one configuration setting forthe rendering component of the first entertainment system.
 17. Thenon-transitory computer-readable medium of claim 15, wherein the firstinstruction causes the rendering component to stop being in the firststate.
 18. The non-transitory computer-readable medium of claim 15,wherein the method further comprises selecting the source componentbased on the source component being the active signal source for therendering component of the first entertainment system in response toreceiving the first instruction.
 19. The non-transitorycomputer-readable medium of claim 15, wherein the method furthercomprises: transmitting a query over a communications bus; and receivingan indication of a configuration setting of the rendering component inresponse to the query.
 20. The non-transitory computer-readable mediumof claim 15, wherein the method further comprises transmitting a fourthinstruction over a communication network that is configured to cause therendering component of the first entertainment system to return to thefirst state having the at least one configuration setting, wherein thefourth instruction is for setting a configuration setting of therendering component to a value that the configuration setting was set towhen the first instruction was detected.
 21. The non-transitorycomputer-readable medium of claim 15, wherein the method furthercomprises generating the fourth instruction based on the determinationof the first state.